草庐IT

c++ - Qt Release build 给出 MSVC++ Runtime Library Error

全部标签

c++ - 与 GCC/MSVC 中的 lambda 转换构造函数不一致

哪个(如果不是两个)违反规范?在MSVC2013和MSVCNov2013CTP上尝试使用MSVC,GCC是MinGWx644.9.1with-std=c++11。templateclassmemoizer{usingfunc_type=ret_type(*)(constint);constfunc_typefunc;std::mapcache;public:memoizer(func_typefunc):func(func){}ret_typeoperator[](constintn){constautoit=cache.find(n);if(it!=cache.end())retur

c++ - Makefile:7:目标(在同一规则中多次给出

我不熟悉make系统。当我尝试执行如下程序时,没有问题:./prog.outarg1arg2arg3当我决定使用make时,我将以下脚本添加到makefileparse${parameters}:./prog.out${parameters}当它运作良好时,这很奇怪;makeparseparameters="aaabbbccc"这些字符:'('和')'会产生错误!makeparseparameters="(d,(d,(d,d)))"Makefile:7:target`('givenmorethanonceinthesamerule.Makefile:7:target`d'givenmo

c++ - msvc is_copy_assignable 始终为真?

#includeclassTest{public:Test(constTest&)=delete;Test&operator=(constTest&)=delete;};voidfn(Test&a,constTest&b){a=b;}static_assert(!std::is_copy_assignable::value,"Testshouldn'tbeassignable");在MSVC2013Update3下编译此代码时static_assert意外失败,并且函数fn编译失败(如预期)。这很矛盾,对吧?我是否滥用了is_copy_assignable?有没有其他方法可以测试这种情

MySQL随机选择给出意外结果

我正在尝试从我的表中选择4个随机名称。这是我的查询:SELECTRAND()FROMtbl_nameORDERBYidLIMIT4;这是我得到的输出我的表结构:看答案尝试这个:SELECTnameFROMtbl_nameORDERBYRAND()LIMIT4;

c++ - Eigen C++ 库给出 C++ 11 选项的错误

我有以下使用EigenC++库的C++代码。#include"Dense"#includeintmain(){Eigen::MatrixXfx(10,10);x.setRandom();std::cout当我使用“-std=gnu++11”尝试g++时,出现以下错误。Infileincludedfrom/usr/include/c++/4.8/tuple:39:0,from/usr/include/c++/4.8/functional:55,from../SP_ToolBox/ExternalLibraries/Eigen/Eigen/Core:153,from../SP_ToolBo

c++ - 为什么 C++17 GCC 编译器给出未定义的警告?

根据C++17,无法保证以下表达式中的求值顺序。这称为未指定的行为。inti=0;std::coutC++17GCC编译器给出以下警告:LiveDemoprog.cc:Infunction'intmain()':prog.cc:6:20:warning:operationon'i'maybeundefined[-Wsequence-point]std::cout我不明白,在上面的c++17中express不再是未定义的行为,那么为什么编译器会给出未定义的警告? 最佳答案 似乎gcc给出了警告,因为这是一个极端情况,或者至少非常接近于

c++ - MSVC 19 删除继承的构造函数

在MSVC19.16下,如果类B显式继承自类A的构造函数,并且还定义了自己的构造函数,则继承的构造函数将被忽略。classA{public:A(){}A(intx){}};classB:publicA{public:usingA::A;B(doublex):A(){}};intmain(){Bb;//errorC2512:'B':noappropriatedefaultconstructoravailable//note:seedeclarationof'B'return0;}在gcc下正确编译。任何人都知道这是一个编译器错误,还是我想念的东西?谢谢。 最佳

c++ - 为什么 new 和 delete 在 MSVC 2010 下的循环中这么慢

当我尝试在循环中创建和删除类的实例时遇到问题。迭代的执行时间是完全不同的。据我了解,这与从内存中删除对象有关。但是,这个操作的行为我不明白。为什么时间不同?我如何解决它?当我在单独的线程中删除对象时,时间是稳定的。classNODE{public:NODE(){}NODE*add(NODE*node){children.push_back(node);returnnode;}virtual~NODE(){for(vector::iteratorit=children.begin();it!=children.end();++it){delete*it;}}vectorchildren;

c++ - timer_create 给出内存泄漏问题 "Syscall param timer_create(evp) points to uninitialised byte(s)"

structsigeventtimerEvent;memset(&timerEvent,0,sizeof(timerEvent));timerEvent.sigev_value.sival_int=0;timerEvent.sigev_value.sival_ptr=diaBase;timerEvent.sigev_notify=SIGEV_THREAD;timerEvent._sigev_un._sigev_thread._function=function;timerEvent._sigev_un._sigev_thread._attribute=NULL;timer_ttimer

c++ - 这个 MSVC++ 编译错误是什么意思

我有这个编译错误,我不明白哪里出了问题。我的MicrosoftVisualStudio项目是一个Win32项目(不是控制台):1>MSVCRT.lib(crtexew.obj):errorLNK2001:unresolvedexternalsymbol_WinMain@161>C:\Users\Soribo\Desktop\C++Programming\VisualC++Programming\KeyboardHook\Release\KeyboardHook.exe:fatalerrorLNK1120:1unresolvedexternals编辑:将#include"stdafx.h